package com.cr.sync.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.util.Date;

/**
 * 远程数据-机构信息对象 tb_sync_organ_info
 * 
 * @author tang
 * @date 2025-08-29
 */
public class TbSyncOrganInfo implements Serializable {
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 机构名称 */
    private String bodyName;

    /** 统一社会信用代码 */
    private String orgCode;

    /** 机构类别(1监管机构 2检测机构 3执法机构 4普通主体 5第三方检测机构) */
    private String bodyCategory;

    /** 主体属性(1 生产主体 2 屠宰场 3 生鲜乳企业 4 投入品经营主体 5 加工企业) */
    private String subjectAttribute;

    /** 监管机构级别 (1部级 2省级 3市级 4县级 5镇级) */
    private String regulatorLevel;

    /** 区县 */
    private String area;

    /** 地址 */
    private String address;

    /** 机构负责人 */
    private String corpName;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setBodyName(String bodyName) 
    {
        this.bodyName = bodyName;
    }

    public String getBodyName() 
    {
        return bodyName;
    }

    public void setOrgCode(String orgCode) 
    {
        this.orgCode = orgCode;
    }

    public String getOrgCode() 
    {
        return orgCode;
    }

    public void setBodyCategory(String bodyCategory) 
    {
        this.bodyCategory = bodyCategory;
    }

    public String getBodyCategory() 
    {
        return bodyCategory;
    }

    public void setSubjectAttribute(String subjectAttribute) 
    {
        this.subjectAttribute = subjectAttribute;
    }

    public String getSubjectAttribute() 
    {
        return subjectAttribute;
    }

    public void setRegulatorLevel(String regulatorLevel) 
    {
        this.regulatorLevel = regulatorLevel;
    }

    public String getRegulatorLevel() 
    {
        return regulatorLevel;
    }

    public void setArea(String area) 
    {
        this.area = area;
    }

    public String getArea() 
    {
        return area;
    }

    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }

    public void setCorpName(String corpName) 
    {
        this.corpName = corpName;
    }

    public String getCorpName() 
    {
        return corpName;
    }

    public Date getCreateTime()
    {
        return createTime;
    }

    public void setCreateTime(Date createTime)
    {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("bodyName", getBodyName())
            .append("orgCode", getOrgCode())
            .append("bodyCategory", getBodyCategory())
            .append("subjectAttribute", getSubjectAttribute())
            .append("regulatorLevel", getRegulatorLevel())
            .append("area", getArea())
            .append("address", getAddress())
            .append("corpName", getCorpName())
            .append("createTime", getCreateTime())
            .toString();
    }
}
